1. Field of the Invention
The present invention relates to a switch logically disposed between a client and a server, and more specifically to a switch which is disposed in a client server system in which a remote file system is implemented for executing file processing through a network, and provides a single system image (SSI) transparent to the client and network traffic control such as load distribution.
2. Description of the Related Art
As a method for realizing a client server system through a network a famous method is known, which employs a network file system (NFS) protocol disclosed in RFC (Request For Comments) 1094 and RFC 1813. The NFS protocol provides basic operations as a file system such as creation, deletion, read/write operation, movement and the like of a file for a server located at a remote place through a network, and convenience such as sharing of files with other clients. In the NFS protocol, a client employs an object ID for identifying an object such as a file on a server to access the server through an application interface such as a remote procedure call (RPC). In the NFS, one called a file handle is employed as the object ID, for example.
In the following, conventional techniques concerning the switch device will be described for every item:
Layers 4 to 7 Switches:
As a implementation of a network file system there are widely known ones based upon an OSI (open Systems Interconnection) reference model of the so-called IP (Internet Protocol) network, and in an ordinary router and the like it is widely known that use is made of information up to a layer 3 of the OSI model, i.e., information on a physical layer, a data link layer and a network layer for path control. Further, in recent years, use is made of information from the layer 4 to the layer 7 of the OSI reference model, i.e., information on a transport layer, a session layer, a presentation layer, and an application layer for provision of varieties of convenience.
A network switch device for judging the kind of a protocol of a packet sent by making use of the information of the layer 4 and distributing it to a corresponding server for each protocol is widely utilized in, for example, web hosting services. Further recently, there is reported as a product one for realizing server distribution for each web content utilizing the layer 7 information. A major object of these techniques is load distribution of the server and control of an access policy to the server. The access policy includes execution of an SSL (Secure Socket Layer) processing for recognizing a user on a single server, and perusal limitation for every ages, and the like. Upon executing the SSL processing switching of servers for the purpose of load distributed and so on is generally prohibited. The switch device serves as logical packet switch.
Referring to FIG. 1 there is provided a block diagram illustrating a function of a conventional web switch. Web switch 900 comprises packet processing unit 903, and HTTP (Hypertext Transfer Protocol) processing unit 902. After a received packet processing is executed in packet processing unit 903, HTTP processing unit 902 collects information concerning the layer 4 to layer 7, and takes out information concerning URL (Uniform Resource Locator) classified to the layer 7. Further, HTTP processing unit 902 retrieves and specifies on the basis of information concerning the URL taken out a server to treat the URL, taking it's address, and policy of load distributed and the like. HTTP processing unit 902 further converts a MAC (Media Access Control) address and an IP address of an original packet by executing conversion from a global address to a local address, i.e., NAT (Network Address translator) conversion, and rewriting a MAC address by virtual IP clustering described later such that a packet is transferred to a server thereof, and corrects contradiction of security such as check sum following the conversion. Packet processing unit 903 sends a rewritten and corrected packet onto a network.
Besides the aforementioned switch device varieties of techniques for load distributed and the so on have been disclosed. There is widely known as such a technique a method wherein each DNS (Domain Name Server) disposed in each network area forces a plurality of IP addresses to bring into correspondence to one domain name, and selects an IP address with the round robin system and transmits it to a client, for example.
Virtual IP Clustering:
There is known a method wherein a coordinator who defines a virtual IP address as a cluster address, which virtual address is set to a plurality of servers as an IP alias, and serves as a switch redirects a packet to a proper server by rewriting a MAC address for load distribution. In such a method, each server sets the virtual IP address as the IP alias, so that a client looks that as if one server responds thereto. In the present method, a response can be returned directly from a client from a corresponding server without mediating the coordinator. The method that directly returns the response has an advantage that a bottleneck is unlikely to occur, compared with a method where a packet passes the coordinator even for a return path. The present method and methods where an improvement is added to the present method to some degree is widely known at present as one constituting method of a clustering system using an OS (Operating System) such as Linux.
Japanese Laid-Open Patent Publication No. 2001-51890 (JP, P2001-51890A) discloses another method in which a client may not recognize the number of a plurality of file servers dispersed on a network such as a LAN (Local Area Network) and a connection state of a storage device. As illustrated in FIG. 2, a client server system that executes the just-mentioned method includes a plurality of file servers 3 which are dispersed on network 2, and connected with each other through inter-server exclusive line 7, and further shares a multicast address in common virtual distributed file system 4 that operates over respective file servers 3 is implemented. A module on each file server 3 constituting the just-mentioned system, once receiving a multicast file operation request from client 1 judges whether or not a server of itself is an optimum server capable of processing the aforementioned request by making use of a mapping table of virtual distributed file system 4 and entire local file system 6, and processes the requested file operation based upon a judged result without overlapping on other file servers 3. Hereby, the plurality of file servers 3 distributed on the network can be treated as a single server, viewed from client 1, so that a virtual distributed file server system can be provided, in which system the number of servers 3 and a connection state with the storage device are not recognized by client 1.
However, when the aforementioned techniques are applied to a file system service through a distributed network, the following problems happen:
(1) Even a method employing a layer 4 to 7 switch and even a method employing virtual IP clustering suffer from a difficulty that contents rewritten upon redirection of a packet are limited to a MAC address or an IP address. For this, when in a protocol in which a client stores an object ID such as a file handle of NFS in a cache, an administrator executes an operation which does not require the need of informing a client for the purpose of load distribution and capacity distribution, for example when an object is moved from a server once allocated to a client to another server, the client accesses the server while accommodating an object ID of an old server in the packet. Accordingly, even though the switch transfers the packet to a new server, the new server fails to read the object ID in the packet and sends back an error to the client. More specifically, in the file system service mediating a load distributed network, transparency to the client can not been realized even when a conventional method of load distribution is applied;
(2) There is essential an improvement for a file server which is already utilized by a user upon setting the IP alias and introduction of the virtual distributed file system. Accordingly, when a file system of an existing client server is operated, for obtaining convenience provided while intactly utilizing a construction of the foregoing client server complicated installation work happens even when only a purpose of the load distribution is solved.